﻿// <copyright file="WSSecurityExt.cs" company="SharpSTS">
// Copyright (c) 2007, 2008 All Right Reserved, http://sharpsts.com/
//
// This source is subject to the Microsoft Permissive License.
// Please see the License.txt file for more information.
// All other rights reserved.
//
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// </copyright>
// <author>Barry Dorrans</author>
// <email>barryd@idunno.org</email>
// <date>2008-06-20</date>
// <summary>Holds WSSecurityExt constants.</summary>

namespace SharpSTS.Constants
{
    /// <summary>
    /// Holds WSSecurityExt constants.
    /// </summary>
    internal static class WSSecurityExt
    {
        /// <summary>
        /// Holds namespace constants.
        /// </summary>
        internal static class NameSpace
        {
            /// <summary>
            /// The Namespace URI.
            /// </summary>
            public const string Uri = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";

            /// <summary>
            /// The namespace prefix.
            /// </summary>                          
            public const string Prefix = "wsse";
        }

        /// <summary>
        /// Holds constants for the key types.
        /// </summary>
        internal static class KeyTypes
        {
            /// <summary>
            /// Indicates the thumbprint for the key is a SHA1 hash.
            /// </summary>
            public const string Sha1Thumbprint = "http://docs.oasis-open.org/wss/2004/xx/oasis-2004xx-wss-soap-message-security-1.1#ThumbprintSHA1";
        }

        /// <summary>
        /// Holds attribute constants.
        /// </summary>
        internal static class Attributes
        {
            /// <summary>
            /// This element holds the certificate thumbprint for cerificate authenticated managed cards.
            /// </summary>
            public const string ValueType = "ValueType";
        }

        /// <summary>
        /// Holds element names.
        /// </summary>
        internal static class Elements
        {
            /// <summary>
            /// This element holds the key identifier for cerificate authenticated managed cards.
            /// </summary>
            public const string KeyIdentifier = "KeyIdentifier";
        }
    }
}
